[css基本功] position的sticky(粘性布局)
众所周知,position的四个属性值为static、relative、absolute、fixed,在css3中新增了sticky,意为粘性布局
释义
position: sticky 结合了static和fixed两者特性,当页面元素满足固定距离时,使用类fixed定位方式(top、right、bottom、left生效);当未达到固定距离时,依照默认布局排列,top、right、bottom、left不生效。
Coding
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 
 | <style>header > nav {
 text-align: center;
 }
 
 .block-item{
 height: 500px;
 line-height: 500px;
 background: #bbb;
 text-align: center;
 box-sizing: border-box; /* 包含border的盒子 */
 border: 2px dashed #fff;
 }
 
 footer{
 height: 50px;
 line-height: 50px;
 background: darkblue;
 text-align: center;
 position: sticky;
 bottom: 0;
 }
 
 footer > p{
 margin: 0;
 padding: 0;
 color: #fff;
 }
 </style>
 
 <header>
 <nav>
 <a>I'm Header</a>
 </nav>
 </header>
 <div class="block-item">占位</div>
 <div class="block-item">占位</div>
 <footer>
 <p>I'm Footer</p>
 </footer>
 
 | 
效果
当页面上下滚动时,header会固定在上方,footer会固定在下方。